package com.iwhalecloud.citybrain.flow.platform.manager.infrastructure.mapper;

import com.iwhalecloud.citybrain.flow.platform.manager.infrastructure.entities.FlowNodeTempParam;
import com.iwhalecloud.citybrain.flow.platform.manager.infrastructure.entities.FlowNodeTempParamExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

@Repository
public interface FlowNodeTempParamDAO {

    /**
     * 根据条件统计数量
     * @param example
     * @return
     */
    int countByExample(FlowNodeTempParamExample example);

    /**
     * 通过条件删除数据
     * @param example
     * @return
     */
    int deleteByExample(FlowNodeTempParamExample example);

    /**
     * 通过主键删除数据
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 插入数据
     * @param record
     * @return
     */
    int insert(FlowNodeTempParam record);


    /**
     * 插入数据
     * @param record
     * @return
     */
    int insertSelective(FlowNodeTempParam record);


    /**
     * 根据条件查询数据
     * @param example
     * @return
     */
    List<FlowNodeTempParam> selectByExample(FlowNodeTempParamExample example);


    /**
     * 根据主键查询数据
     * @param id
     * @return
     */
    FlowNodeTempParam selectByPrimaryKey(Integer id);


    /**
     * 更新数据
     * @param record
     * @param example
     * @return
     */
    int updateByExampleSelective(@Param("record") FlowNodeTempParam record, @Param("example") FlowNodeTempParamExample example);

    /**
     * 更新数据
     * @param record
     * @param example
     * @return
     */
    int updateByExample(@Param("record") FlowNodeTempParam record, @Param("example") FlowNodeTempParamExample example);

    /**
     * 更新数据
     * @param record
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(FlowNodeTempParam record);

    /**
     * 通过主键更新数据
     * @param record
     * @param record
     * @return
     */
    int updateByPrimaryKey(FlowNodeTempParam record);
}